package za.org.jcicada.syshealth;

import java.util.Observer;

/**
 * Interface defined to represent Views so that a view object can be passed
 * around generically.
 * 
 * @see ViewBase for default implementation
 * @author Robert Crida
 */
public interface View extends Observer {

	/**
	 * Initialize the controller to complete setup
	 */
	void initialize();

	Model getModel();

	Controller getController();

	/**
	 * Create a controller suitable for this view.
	 * 
	 * @return the controller object to use with the view
	 */
	Controller makeController();

}
